package repo

import (
	"album/model"
	"context"
	"listenboos-common/db"
)

type TrackInfoRepo interface {
	SaveTrackInfo(ctx context.Context, conn db.DBConn, in *model.TrackInfo) (int64, error)
	FindAlbumByUserId(ctx context.Context, userId int64, num int64, size int64) (tracks []*model.TrackInfo, err error)
	FindAlbumByIdAndUserId(ctx context.Context, trackId int64) (track *model.TrackInfo, err error)
	DeleteTrackInfo(ctx context.Context, conn db.DBConn, trackId int64, userId int64) error
	FindTrackByAlbumId(ctx context.Context, albumId int64, pageNo string, pageSize string) (tracks []*model.TrackInfo, current int64, Size int64, total, pages int64, err error)
	UpdateCollect(trackId int64, deleted int64) error
	FindGeTrack(ctx context.Context, trackId int64) (ts []*model.TrackInfo, aid int64, err error)
	FindTrackInCount(ctx context.Context, trackId int64, trackCount int64) (ts []*model.TrackInfo, err error)
}
